此笔记基于第一行代码编写
Android Studio
换源或直接下载gradle wrapper覆盖过去,不知道为啥直接用AS下只有50kb,而浏览器下还有正常速度
其他相关配置问题有待填充。。。
Android应用
四大组件
Activity
眼睛看到的所有界面
Service
后台偷跑的
BroadcastReceiver
应用内外传播途径
ContentProvider
应用程序间共享数据
系统控件
SQLite数据库
多媒体
Android项目结构分析
.gradle和.idea
这两个目录下放置的都是Android Studio 自动生成的一些文件,不要动这里的文件
app
项目中的代码,资源等内容都是放置在这个目录下的,我们后面的开发工作也基本是在这个目录下进行的
build
一些编辑时自动生成的文件
gradle
gradle wrapper的配置文件
.gitignore
这个文件是用来将指定的目录或文件排除在版本控制之外。
build.gradle
这个是项目全局的gradle构建脚本,通常这个文件中的内容是不需要修改的
gradle.properties
这个文件是全局的gradle配置文件,在这里配置的属性将会影响到项目中索引的gradle编辑脚本
gradlew和gradlew.bat
这两个文件是用来在命令行界面中执行gradle命令的,其中gradlew是在linux或Mac系统中使用的,gradlew.bat是在Windows系统中使用的
HelloWorld.iml
iml文件是所有IntelliJ IDEA项目都会自动生成的一个文件(Android Studio是基于IntelliJ IDEA开发的),用来标识这是一个IntelliJ IDEA项目,无需修改
local.properties
这个文件用来指定本机中的Android SDK路径,通常内容是自动生成的,我们并不需要修改。除非你本机中的Android SDK位置发生了变化,那么就将这个文件中的路径改位置即可
setting.gradle
该文件用来指定项目中所有引入的模块
app目录分析
build
与外层的build目录类似,也包含了一些在编译时自动生成的文件
libs
如果你的项目中使用到了第三方jar包,就需要把这些jar包放在libs目录下,放在这个目录下的jar包会被自动添加到该项目的构建路径里
androidTest
此处是用来编写Android Test测试用例的,可以对项目进行一些自动化测试
java
Java代码的地方(Kolin代码也放在这里)
res
资源库
AndroidManifest.xml
整个Android项目的配置文件,程序中定义的所有四大组件的注册地,应用程序添加权限声明的地方
test
此处是用来编写Unit Test测试用例的,是对项目进行自动化测试的另一种方式
.gitinore
这个文件用来编写将app模块内指定的目录或文件排除在版本控制以外,作用和外层的 .gitignore文件类似
app.iml
IntelliJ IDEA项目自动生成的文件
build.gradle
app模块的gradle构建脚本
proguard-rules.pro
用来指定项目代码的混淆规则,当代码开发完成后打包成安装包文件,如果不希望代码被别人破解,通常会将代码进行混淆,从而让破解者难以阅读
1 | <activity android:name=".MainActivity"> |
这段表示MainActivity在AndroidManifest.xml里注册,没有在AndroidManifest.xml里注册的Activity是不能使用的。其中intent-filter里的两段代码表MainActivity是这个项目的主Activity,并且启动应用时优先启动的是这个Activity
android.intent.action.MAIN决定应用程序最先启动的
Activity android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
